[INFO] fetching crate arclight 0.0.1...
[INFO] checking arclight-0.0.1 against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] extracting crate arclight 0.0.1 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate arclight 0.0.1 on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate arclight 0.0.1
[INFO] finished tweaking crates.io crate arclight 0.0.1
[INFO] tweaked toml for crates.io crate arclight 0.0.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 38a7cae598a10995b412ba86da165941b08c0dfa622fecb9b29d20c0eee1e87b
[INFO] running `Command { std: "docker" "start" "-a" "38a7cae598a10995b412ba86da165941b08c0dfa622fecb9b29d20c0eee1e87b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "38a7cae598a10995b412ba86da165941b08c0dfa622fecb9b29d20c0eee1e87b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38a7cae598a10995b412ba86da165941b08c0dfa622fecb9b29d20c0eee1e87b", kill_on_drop: false }`
[INFO] [stdout] 38a7cae598a10995b412ba86da165941b08c0dfa622fecb9b29d20c0eee1e87b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1a919f5236691af24d469aea7423e5411a8b6e9fa7a619bf3f3cb53716f2cda0
[INFO] running `Command { std: "docker" "start" "-a" "1a919f5236691af24d469aea7423e5411a8b6e9fa7a619bf3f3cb53716f2cda0", kill_on_drop: false }`
[INFO] [stderr]     Checking arclight v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `TokenType` is imported redundantly
[INFO] [stdout]   --> src/Parser.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | / enum TokenType {
[INFO] [stdout] 22 | |     New,
[INFO] [stdout] 23 | |     Tab,
[INFO] [stdout] 24 | |     Pass,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     Photon,
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_- the item `TokenType` is already defined here
[INFO] [stdout] ...
[INFO] [stdout] 44 |           use Parser::TokenType;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/ArclightSyntaxTree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TokenType` is imported redundantly
[INFO] [stdout]   --> src/Parser.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | / enum TokenType {
[INFO] [stdout] 22 | |     New,
[INFO] [stdout] 23 | |     Tab,
[INFO] [stdout] 24 | |     Pass,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     Photon,
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_- the item `TokenType` is already defined here
[INFO] [stdout] ...
[INFO] [stdout] 44 |           use Parser::TokenType;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/ArclightSyntaxTree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 58 |             _ => TokenType::Photon,
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let new_string = NEW.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let tab_string = TAB.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let pass_string = PASS.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let return_string = RETURN.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let defined_string = DEFINED.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `token_type` are never read
[INFO] [stdout]   --> src/Parser.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Token {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 31 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     token_type: TokenType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_token` is never used
[INFO] [stdout]    --> src/Parser.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 68  | impl Tokens {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn push_token(&mut self, token: Token) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/Element.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Element {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 11 |     fn new(token: String) -> Element {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArclightSyntaxTree` is never constructed
[INFO] [stdout]  --> src/ArclightSyntaxTree.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct ArclightSyntaxTree {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ArclightSyntaxTree.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ArclightSyntaxTree {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn new() -> ArclightSyntaxTree {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Parser` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod Parser;
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case: `parser`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Element` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod Element;
[INFO] [stdout]   |         ^^^^^^^ help: convert the identifier to snake case: `element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ArclightSyntaxTree` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod ArclightSyntaxTree;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `arclight_syntax_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Tokens` should have a snake case name
[INFO] [stdout]   --> src/Parser.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Tokens: Vec<Token>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 58 |             _ => TokenType::Photon,
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let new_string = NEW.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let tab_string = TAB.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let pass_string = PASS.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let return_string = RETURN.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let defined_string = DEFINED.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual`
[INFO] [stdout]    --> src/Parser.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let actual = parse("a b");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `token_type` are never read
[INFO] [stdout]   --> src/Parser.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Token {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 31 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     token_type: TokenType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/Element.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Element {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 11 |     fn new(token: String) -> Element {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArclightSyntaxTree` is never constructed
[INFO] [stdout]  --> src/ArclightSyntaxTree.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct ArclightSyntaxTree {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ArclightSyntaxTree.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl ArclightSyntaxTree {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn new() -> ArclightSyntaxTree {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Parser` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod Parser;
[INFO] [stdout]   |         ^^^^^^ help: convert the identifier to snake case: `parser`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Element` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod Element;
[INFO] [stdout]   |         ^^^^^^^ help: convert the identifier to snake case: `element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `ArclightSyntaxTree` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod ArclightSyntaxTree;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `arclight_syntax_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Tokens` should have a snake case name
[INFO] [stdout]   --> src/Parser.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Tokens: Vec<Token>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 26 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TokenType` is imported redundantly
[INFO] [stdout]   --> src/Parser.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | / enum TokenType {
[INFO] [stdout] 22 | |     New,
[INFO] [stdout] 23 | |     Tab,
[INFO] [stdout] 24 | |     Pass,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     Photon,
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_- the item `TokenType` is already defined here
[INFO] [stdout] ...
[INFO] [stdout] 44 |           use Parser::TokenType;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 58 |             _ => TokenType::Photon,
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let new_string = NEW.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let tab_string = TAB.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let pass_string = PASS.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let return_string = RETURN.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let defined_string = DEFINED.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blah`
[INFO] [stdout]   --> src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let blah = Parser::parse(&contents);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_blah`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `token_type` are never read
[INFO] [stdout]   --> src/Parser.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Token {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 31 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     token_type: TokenType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_token` is never used
[INFO] [stdout]    --> src/Parser.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 68  | impl Tokens {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn push_token(&mut self, token: Token) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Parser` should have a snake case name
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod Parser;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case: `parser`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Tokens` should have a snake case name
[INFO] [stdout]   --> src/Parser.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Tokens: Vec<Token>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TokenType` is imported redundantly
[INFO] [stdout]   --> src/Parser.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | / enum TokenType {
[INFO] [stdout] 22 | |     New,
[INFO] [stdout] 23 | |     Tab,
[INFO] [stdout] 24 | |     Pass,
[INFO] [stdout] ...  |
[INFO] [stdout] 27 | |     Photon,
[INFO] [stdout] 28 | | }
[INFO] [stdout]    | |_- the item `TokenType` is already defined here
[INFO] [stdout] ...
[INFO] [stdout] 44 |           use Parser::TokenType;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ unreachable pattern
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/Parser.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ---------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 58 |             _ => TokenType::Photon,
[INFO] [stdout]    |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let new_string = NEW.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let tab_string = TAB.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let pass_string = PASS.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let return_string = RETURN.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let defined_string = DEFINED.to_string();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_string`
[INFO] [stdout]   --> src/Parser.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |             new_string => TokenType::New,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tab_string`
[INFO] [stdout]   --> src/Parser.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             tab_string => TokenType::Tab,
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tab_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pass_string`
[INFO] [stdout]   --> src/Parser.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             pass_string => TokenType::Pass,
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pass_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_string`
[INFO] [stdout]   --> src/Parser.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             return_string => TokenType::Return,
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defined_string`
[INFO] [stdout]   --> src/Parser.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             defined_string => TokenType::Defined,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defined_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual`
[INFO] [stdout]    --> src/Parser.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let actual = parse("a b");
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blah`
[INFO] [stdout]   --> src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let blah = Parser::parse(&contents);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_blah`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token` and `token_type` are never read
[INFO] [stdout]   --> src/Parser.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Token {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 31 |     token: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 32 |     token_type: TokenType,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Parser` should have a snake case name
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | mod Parser;
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to snake case: `parser`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Tokens` should have a snake case name
[INFO] [stdout]   --> src/Parser.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Tokens: Vec<Token>,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to snake case: `tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.20s
[INFO] running `Command { std: "docker" "inspect" "1a919f5236691af24d469aea7423e5411a8b6e9fa7a619bf3f3cb53716f2cda0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a919f5236691af24d469aea7423e5411a8b6e9fa7a619bf3f3cb53716f2cda0", kill_on_drop: false }`
[INFO] [stdout] 1a919f5236691af24d469aea7423e5411a8b6e9fa7a619bf3f3cb53716f2cda0
